<html>
 <head>
    <title>Datejs Test Cases</title>
        <!-- Library Support -->
    <script type="text/javascript" src="scripts/firebug/firebug.js"></script>
    
    <script type='text/javascript' src='scripts/jquery-1.2.1.pack.js'></script>
    <script type='text/javascript' src='scripts/cruiser.js'></script>
    <script type='text/javascript' src='scripts/enumerable.js'></script>
    <script type='text/javascript' src='scripts/specifications.js'></script>
    <link rel='stylesheet' type='text/css' href='styles/specifications.css'>
    
    <!-- Datejs -->    
    <script type='text/javascript' src='../src/globalization/en-US.js'></script>
    <script type='text/javascript' src='../src/core.js'></script>
    <script type='text/javascript' src='../src/sugarpak.js'></script>
    <script type='text/javascript' src='../src/parser.js'></script>
    <script type='text/javascript' src='../src/extras.js'></script>
    <script type='text/javascript' src='../src/time.js'></script>
    
    <!--<script type='text/javascript' src='../build/date.js'></script>-->
    
    <!-- Debugging -->
    <script type='text/javascript' src='scripts/debugging.js'></script>
    
    <!--<script type='text/javascript' src='scripts/date-functions.js'></script>-->
    
    <link rel='stylesheet' type='text/css' href='styles/chart.css'>
    
    <script type="text/javascript">
//    var benchmark = function( fn ) { 
//	    var start = new Date(); 
//	    fn();
//	    return new Date() - start;
//    };

//    var micro_benchmark = function( fn ) { 
//	    var x = 0; for( var i = 0; i < 1000; i++ ) { x+=benchmark(fn); }; return x;
//    };

//    var dateBenchmark = function( tests, fn ) {
//	    var month, day, year; var time = 0;
//	    for ( var i = 0 ; i < tests ; i++ ) {
//		    month = Math.round( Math.random() * 11 );
//		    day = Math.round( Math.random() * 27 ) + 1;
//		    year = Math.round( Math.random() * 10 ) + 1995;
//        var s = month.toString()+'/'+day.toString()+'/'+year.toString();
//        time += benchmark( function() { fn(s) } );
//	    }
//	    return (Math.round(time/tests*1000));
//    };

//    $(document).ready(function() {
//	    var tests = 200;
//	    var results = {
//		    'Native: .parse': dateBenchmark( tests, Date._parse ),
//		    'Ext: .parseDate': dateBenchmark( tests, function(s) { Date.parseDate( s, 'm/d/Y' ); } ),
//            'Datejs: .parseExact': dateBenchmark( tests, function(s) { Date.parseExact( s, 'M/d/yyyy' ); } ),		
//		    'Datejs: .getParseFunction': dateBenchmark( tests, Date.getParseFunction('M/d/yyyy')  ),        
//            'Datejs: .parse': dateBenchmark( tests, Date.parse )
//	    };
//	    var max = 0; for ( var k in results ) { max = ( max < results[k] ) ? results[k]:max ; }
//	    var addResult = function(h, r) { $('#chart').append(
//		    '<div class="item">' + 
//			    '<label>' + h + '</label>'+
//			    '<div class="bar" style="width:' + (r/10) + 'px"></div>' +
//			    '<div class="display">'+r+' microseconds</div>');
////			    '<div class="value" style="width:'+(r/max*(1/3)*100)+'%"></div>' +
//	    };
//	    for ( var k in results ) { addResult( k, results[k]); }
//    });
    </script>
  </head>
  
  <body>
    <h1>Datejs Test Cases</h1>
    <ol>
      <li><a href='date/index.html'>Date</a></li>
      <li><a href='time/index.html'>Time</a></li>
      <li><a href='date_and_time/index.html'>Date and Time</a></li>
      <li><a href='partial/index.html'>Partial</a></li>
      <li><a href='relative/index.html'>Relative</a></li>
      <li><a href='relative_date_and_time/index.html'>Relative Date and Time</a></li>
      <li><a href='date_math/index.html'>Date Math</a></li>
      <li><a href='parseExact/index.html'>ParseExact</a></li>
      <li><a href='core/index.html'>Core Library</a></li>
      <li><a href='sugarpak/index.html'>Sugarpak</a></li>	  
      <li><a href='tostring/index.html'>.toString Function</a></li>
      <li><a href='dst/index.html'>Daylight Saving Time</a></li>	  
      <li><a href='culture_info/index.html'>CulturalInfo (es-MX)</a></li>
    </ol>
    <h1>Compare to other libraries</h1>
    <ol>
      <li><a href='rememberthemilk/index.html'>RememberTheMilk.com</a></li>
      <li><a href='ruby_chronic/index.html'>Ruby Chronic</a></li>
    </ol>    
    
    <!--<p>&nbsp;</p>
	<h1>Parser Performance</h1>
	<div class="information">
	    <p style="margin-top: 0; padding-top: 8px;">The following parsing performance chart creates 200 random date strings in the format of "M/d/yyyy" and parses each string into a <strong>Date</strong> object.</p>
	    <p>The times listed are an average execution time per function call in <strong>microseconds</strong>.</p>
	    <p>One thousand (1000) <strong>microseconds</strong> equals one (1) <strong>millisecond</strong>. A <strong>microsecond</strong> is one millionth of a second.</p>
	</div>
    <div id='chart'/>-->
    
  </body>
</html>